Multiplayer Game Development with Unreal Engine 5 (for John Malkovec) by Marco Secchi

Multiplayer Game Development with Unreal Engine 5 (for John Malkovec) by Marco Secchi

Author:Marco Secchi
Language: eng
Format: epub
Publisher: Packt Publishing Pvt Ltd
Published: 2023-09-02T00:00:00+00:00


Initializing the minion

It’s now time to initialize the character when it is added to the game. As you already know, this is usually done from the BeginPlay() method. So, just after the Super::BeginPlay() declaration, add the following:

SetNextPatrolLocation();

This call will simply start the patrolling behavior. Then, add the PostInitializeComponents() implementation by adding this code to the file:

void AUS_Minion::PostInitializeComponents() { Super::PostInitializeComponents(); if(GetLocalRole() != ROLE_Authority) return; OnActorBeginOverlap.AddDynamic(this, &AUS_Minion::OnBeginOverlap); GetPawnSense()->OnSeePawn.AddDynamic(this, &AUS_Minion::OnPawnDetected); }

As you can see, we are using two delegates to react to an Actor overlap, for checking whether we have reached the player character, and to handle the pawn perception to check whether we can see the player character. Also, notice that they are initialized only if the role of this object is authoritative (i.e., the method is being executed on the server).

The next step is to implement these two delegate functions in order to manage the aforementioned events.



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.